package xyz.kongbai121.demo.service;

import xyz.kongbai121.demo.domain.User;


/**
 * 登录业务接口
 * @author 空白
 */
public interface ILoginService {
    /**
     *  用户登录接口 如果后台有数据则登录,没有则自动注册
     *  并生成唯一标识作为key,openId作为value存进Redis
     * @param user  用户对象
     * @return  用户令牌
     */
    String login(User user);

    /**
     *  填充用户信息
     * @param token     用户令牌
     * @param nickName  用户名
     * @param avatarUrl 头像
     * @param gender    性别
     * @param province  地址
     * @return
     */
    User register(String token, String nickName,String avatarUrl,String gender,String province);

    /**
     *  用户退出
     * @param token  用户令牌
     * @return
     */
    String logout(String token);

    /**
     *  用户令牌有效期延迟
     * @param token  用户令牌
     * @return
     */
    String delayed(String token);

    /**
     * 获取用户信息
     * @param token     用户令牌
     * @return
     */
    User getUserInfo(String token);
}
